In computer systems, virtualization allows for multiple versions of the same application to use computer system resources in a manner such that these resources are efficiently shared. These resources include, for example, disk space, processor cycles and other suitable information. Virtualization allows for robust and scaleable computer systems to be developed.